//package com.yzion.http.lifecycle
//
//import androidx.lifecycle.Lifecycle
//import androidx.lifecycle.LifecycleObserver
//import androidx.lifecycle.OnLifecycleEvent
//import com.blankj.utilcode.util.LogUtils
//import com.yzion.http.lifecycle.callLifecycleObserverMap
//import retrofit2.Call
//
//class CallLifecycleObserver(
//    val lifecycle: Lifecycle,
//    val call: Call<*>
//) : LifecycleObserver {
//
//    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
//    fun onDestroy() {
//        LogUtils.d("onDestroy")
//        if (call.isExecuted.not() && call.isCanceled.not()) {
//            call.cancel()
//        }
//        removeObserver()
//    }
//
//    init {
//        lifecycle.addObserver(this)
//    }
//
//    fun removeObserver() {
//        lifecycle.removeObserver(this)
//        callLifecycleObserverMap.remove(call)
//    }
//
//}